(module
  (type $t0 (func))
  (type $t1 (func (param (ref null 1))))
  (type $t2 (func (param funcref externref (ref func)(ref extern)
                         anyref eqref structref i31ref
                         (ref null 0) (ref null 2) (ref null func) (ref null extern)
                         (ref null any) (ref null eq) (ref null i31) (ref null array)
                         (ref 0) (ref $t0) (ref 1) (ref $t0) (ref null func)
                         (ref null extern) (ref null 2) (ref null $t0))
                  (result (ref null func))))
  (type $t3 (func (param i32 i32) (result (ref null 3))))

  (type $t4 (func))
  (type $t5 (func (param (ref null 3))))
  (type $t6 (func (param funcref externref (ref func)(ref extern)
                         anyref eqref structref i31ref
                         (ref null 0) (ref null 2) (ref null func) (ref null extern)
                         (ref null any) (ref null eq) (ref null i31) (ref null array)
                         (ref 0) (ref $t0) (ref 3) (ref $t0) (ref null func)
                         (ref null extern) (ref null 5) (ref null $t0))
                  (result (ref null func))))
  (type $t7 (func (param i32 i32) (result (ref null 4))))

  (type $t11 (struct (field i8 (mut i16) (mut i32) i64 f32 f64
                       funcref externref (ref func)(ref extern)
                       anyref eqref arrayref i31ref
                       (ref null 0) (ref null 2) (ref null func) (ref null extern)
                       (ref null any) (ref null eq) (ref null i31) (ref null struct)
                       (ref 0) (ref $t0) (ref 3) (ref $t0) (ref null func)
                       (ref null extern) (ref null 5) (ref null $t0))))

  (type $t12 (struct))
  (type $t13 (struct (field)))
  (type $t14 (struct (field i8)))
  (type $t15 (struct (field i8 i8 i8 i8)))
  (type $t16 (struct (field $x1 i32) (field $y1 i32)))
  (type $t17 (struct (field i8 i16 i32 i64 f32 f64 anyref funcref (ref 0) (ref null 1))))
  (type $t18 (struct (field i32 i64 i8) (field) (field) (field (ref null i31) anyref)))
  (type $t19 (struct (field $x2 i32) (field f32 f64) (field $y2 i32)))

  (type $t20 (struct (field i8 (mut i16) (mut i32) i64 f32 f64
                       funcref externref (ref func)(ref extern)
                       anyref eqref structref i31ref
                       (ref null 0) (ref null 2) (ref null func) (ref null extern)
                       (ref null any) (ref null eq) (ref null i31) (ref null array)
                       (ref 0) (ref $t0) (ref 3) (ref $t0) (ref null func)
                       (ref null extern) (ref null 5) (ref null $t0))))

  (type $t21 (struct))
  (type $t22 (struct (field)))
  (type $t23 (struct (field i8)))
  (type $t24 (struct (field i8 i8 i8 i8)))
  (type $t25 (struct (field $x3 i32) (field $y3 i32)))
  (type $t26 (struct (field i8 i16 i32 i64 f32 f64 anyref funcref (ref 0) (ref null 1))))
  (type $t27 (struct (field i32 i64 i8) (field) (field) (field (ref null i31) anyref)))
  (type $t28 (struct (field $x4 i32) (field f32 f64) (field $y4 i32)))

  (type $t31 (array i8))
  (type $t32 (array i16))
  (type $t33 (array i32))
  (type $t34 (array i64))
  (type $t35 (array f32))
  (type $t36 (array f64))
  (type $t37 (array anyref))
  (type $t38 (array (ref i31)))
  (type $t39 (array (ref 0)))
  (type $t40 (array (ref null 1)))
  (type $t43 (array (mut i8)))
  (type $t44 (array (mut i16)))
  (type $t45 (array (mut i32)))
  (type $t46 (array (mut i64)))
  (type $t47 (array (mut i32)))
  (type $t48 (array (mut i64)))
  (type $t49 (array (mut anyref)))
  (type $t50 (array (mut (ref struct))))
  (type $t51 (array (mut (ref 0))))
  (type $t52 (array (mut (ref null i31))))
)
